/**
 * @Description RedisDao.java
 * @author xu_cc [18724000100@163.com]
 * @date 创建时间：2017年11月3日 下午2:34:46
 */
package com.solution.admin.home.dao;

/**
 * redis操作类
 * 
 * @author xu_cc
 * @date 创建时间：2017年11月3日 下午2:34:51
 */
public interface RedisDao {

    /**
     * 获取过期时间（秒）
     * 
     * @param key
     * @return Long
     * @author xu_cc
     * @throws Exception
     *             exception
     * @Date 创建时间：2017年11月3日 下午4:07:38
     */
    public Long getExpire(String key);

    /**
     * 为指定数据设置超时时间
     * 
     * @param key
     * @param seconds
     * @return boolean
     * @author xu_cc
     * @throws Exception
     *             exception
     * @Date 创建时间：2017年11月3日 下午2:47:20
     */
    public boolean expire(String key, int seconds);

    /**
     * 删除指定key的数据
     * 
     * @param key
     *            void
     * @author xu_cc
     * @throws Exception
     *             exception
     * @Date 创建时间：2017年11月3日 下午2:46:25
     */
    public void del(String key);

    /**
     * 根据key获取value
     * 
     * @param key
     * @return String
     * @author xu_cc
     * @throws Exception
     *             exception
     * @Date 创建时间：2017年11月3日 下午2:45:45
     */
    public String get(String key);

    /**
     * 保存一个对象到Redis中，在设置时间内有效（秒）
     * 
     * @param key
     * @param value
     * @param seconds
     * @return Boolean
     * @author xu_cc
     * @throws Exception
     *             exception
     * @Date 创建时间：2017年11月3日 下午2:42:52
     */
    public boolean save(String key, String value, int seconds);

    /**
     * 保存一个对象到Redis中（设置默认超时时间）
     * 
     * @param key
     * @param value
     * @return Boolean
     * @author xu_cc
     * @throws Exception
     *             exception
     * @Date 创建时间：2017年11月3日 下午2:42:52
     */
    public boolean save(String key, String value);

    /**
     * 保存一个对象到Redis系统中，除非手动删除，否则永久有效
     * 
     * @param key
     * @param value
     * @return Boolean
     * @author xu_cc
     * @throws Exception
     *             exception
     * @Date 创建时间：2017年11月3日 下午2:42:52
     */
    public boolean saveSys(String key, String value);

}
